<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/11/10
 * Time: 11:49
 */

namespace com\wxPay;

/**
 * Class Wxpay_client_pub
 * @package com\wxPay
 * @User: yfl
 * @Time:2017年11月10日 11:50:42
 * @description: 请求接口基类
 */
class Wxpay_client_pub extends Common_util_pub
{


    protected $response;//微信返回的响应

    public $result;//返回的结果 为关联数组

    protected $url;//请求的url

    /**
     *    作用：设置请求参数
     */
    public function setParameter($parameter, $parameterValue)
    {
        $this->values[$this->trimString($parameter)] = $this->trimString($parameterValue);
    }

    /**
     * @return string
     * @User: yfl
     * @Time: 2017年11月10日 13:16:08
     * @description:创建xml格式的数据
     */
    protected function createXml()
    {
        $this->values['appid'] = WxPayConf_pub::APPID;
        $this->values['mch_id'] = WxPayConf_pub::MCHID;
        $this->values['nonce_str'] = $this->createNoncestr();
        $this->values['sign'] = $this->makeSign();
        return $this->arrayToXml();
    }

    /**
     * @return bool|mixed
     * @User: yfl
     * @Time: 2017年11月10日 13:21:19
     * @description:post 发送数据
     */
    protected function postXml()
    {
        $xml = $this->createXml();
        $this->response = $this->postXmlCurl($xml, $this->url);
        return $this->response;
    }

    /**
     * @return bool|mixed
     * @User: yfl
     * @Time: 2017年11月10日 13:23:12
     * @description: 使用SSL证书发送数据
     */
    public function postXmlSSL()
    {
        $xml = $this->createXml();
        $this->response = $this->postXmlSSLCurl($xml, $this->url);
        return $this->response;
    }

    /**
     * @return mixed array
     * @User: yfl
     * @Time: 2017年11月10日 13:27:28
     * @description:获取返回的结果
     */
    public function getResult()
    {
        $this->postXml();
        $this->result = $this->xmlToArray($this->response);
        return $this->result;
    }
}